![]() | GENERALIZACIÓN (Parametrizada y no Parametrizada) |
=
o →
), entonces actúa sobre la evaluación de las expresiones base. Una expresión genérica parametrizada actúa en el tiempo y además en el espacio (de acuerdo con los parámetros, que son grados de libertad).
〈 expresión 〉
〈 … x1 … xn … 〉
〈( x>5 → (x° = 5) )〉
x
es mayor que 5, sustituirlo por 5.
(x° = 4)
x // ev. 4
(x° = 7)
x // ev. 5
(x° = "abc") // x se evalúa como "abc"
〈( z = x+y )〉
z
es la suma de x
e y
.
(x° = 3)
(y° = 5)
z // ev. 8
(x° = 9)
z // ev. 14
(x° = x+1)
z // ev. 15
(x = 1)
(y = 〈(x 2*x 3*x)〉
y // ev. (1 2 3)
(x = 2)
y // ev. (2 4 6)
(x = 1)
(y = (a 〈x〉 b 〈x〉)
y // ev. (a 1 b 1)
(x = 2)
y // ev. (a 2 b 2)
(x = (3 5 7))
(y = (a 〈x/1〉 b 〈x/2〉 c 〈x/3〉)
y // ev. (a 3 b 5 c 7)
(x = (13 15 17))
y // ev. (a 13 b 15 c 17)
〈a+x+y+b〉
a+x+y+b
, en donde a
y b
son constantes y x
e y
son variables (los parámetros). Por ejemplo:
a+1+7+b a+33+abc+b a+xxx+17.5+b
etc.
〈 (x x) 〉
(a a) (17 17) (a12 a12)
etc.
〈(x a y) = (x+y x*y)〉
x
y para todo y
”, (x a y)
se sustituye por la secuencia (x+y x*y)
.
(3 a 4) // ev. (3+4 3*4) ev. (7 12)
(u a v) // ev. (u+v u*v)
〈( f(x y) = (x+y x*y) )〉
f(3 4) // ev. (7 12)
f(a b) // ev. (a+b a*b)
〈( 〈( f(x) = x+1 )〉 ←' a>5 → 〈( f(x) = x+5 )〉 )〉
(a = 4)
f(0) // ev. 1
(a = 6)
f(4) // ev. 9
f
depende no solo del parámetro x
, sino también de una variable a
del espacio abstracto. Dependiendo del valor de a
en cada momento, la definición de la función varía.
〈( f(x) = (x+1 ←' a>5 → x+5 )〉
〈( f(x) = (x + x) )〉
se evalúa como 〈( f(x) = 2*x )〉
.
(y = x+x) // ev. (y = 2*x)
x
es una variable más, que solo se interpreta como parámetro si aparece dentro de una expresión genérica.
〈 (Do n = n1 a n2) y EndDo) =: ([n = [n1…n2] y]) 〉
〈( (x y) ← (x+y = 3) )〉
(0 3) (1 2) (-4 7) (a 3-a)
etc.
〈( (x y) ← (x ≠ y) )〉
(0 1) (0 2) (1 2) (a b)
etc.
〈( (1 x 2 y) = x+y )〉
(1 13 2 15) // ev. 28
〈( {1 x 2 y} = x+y )〉
{1 2 13 14} // ev. 27
{13 1 2 14} // ev. 27
〈( suma(x y) = x+y )〉
〈( (a x b y) = (a ← (x<y) →' b) )〉
(a 1 b 2) // ev. a
(a 2 b 1) // ev. b
〈( (x+y y+z) = x+z )〉
(3+4 4+5) // ev. 8
〈( x+y = x*y )〉
7+8 // ev. 56 (toda suma se transforma en producto)
〈( ((x y) (y z)) = (x z) )〉
((3 4) (4 7) // ev. (3 7)
(34 47) // ev. 37
〈( (x a y) = (x y z) )〉
(13 a 25) // ev. (13 25 z)
〈a+x〉/(a=7) // ev. 〈7+x〉
〈x〉+〈x〉 // ev. 2*〈x〉
( r = 〈(x a y)〉 )
(a = θ)
r // ev. 〈(x y)〉
( 〈(x+y+z)/(x=x)〉 ≡ 〈(x+y+z)〉 )
〈(x y a)〉/(x=θ) // ev. 〈(y a)〉 (se elimina un parámetro)
( 〈x〉 ≡ Ω )
( 〈〉 = θ )
〈( g(z) = 〈( f(x y) = x+y+z )〉 )〉
g(1) // ev. 〈( f(x y) = x+y+1 )〉
〈( f(x y) = (x*y 〈( g(z) = z+x+y )〉 )〉
f(3 4) // ev. (12 〈( g(z) = z+7 )〉)
z
es un parámetro ligado; x
, y
son parámetros libres.
x
, y
son parámetros ligados; z
es un parámetro libre.